package com.ydd.pojo;

import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.ydd.entity.SysUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;
import java.util.Date;

@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)// 下划线驼峰命名转换
@Data
public class userInfo  {
   private Object[] rolename;
   private Object[] roleId;
   /**
    * 编号
    */
   @NotBlank(message="[编号]不能为空")
   @Size(max= 64,message="编码长度不能超过64")
   @ApiModelProperty("编号")
   @Length(max= 64,message="编码长度不能超过64")
   private String id;
   /**
    * 登录名
    */
   @NotBlank(message="[登录名]不能为空")
   @Size(max= 100,message="编码长度不能超过100")
   @ApiModelProperty("登录名")
   @Length(max= 100,message="编码长度不能超过100")
   private String loginName;
   /**
    * 密码
    */
   @NotBlank(message="[密码]不能为空")
   @Size(max= 100,message="编码长度不能超过100")
   @ApiModelProperty("密码")
   @Length(max= 100,message="编码长度不能超过100")
   private String password;
   /**
    * 姓名
    */
   @NotBlank(message="[姓名]不能为空")
   @Size(max= 100,message="编码长度不能超过100")
   @ApiModelProperty("姓名")
   @Length(max= 100,message="编码长度不能超过100")
   private String name;
   /**
    * 邮箱
    */
   @Size(max= 200,message="编码长度不能超过200")
   @ApiModelProperty("邮箱")
   @Length(max= 200,message="编码长度不能超过200")
   private String email;
   /**
    * 电话
    */
   @Size(max= 200,message="编码长度不能超过200")
   @ApiModelProperty("电话")
   @Length(max= 200,message="编码长度不能超过200")
   private String phone;
   /**
    * 最后登陆IP
    */
   @Size(max= 100,message="编码长度不能超过100")
   @ApiModelProperty("最后登陆IP")
   @Length(max= 100,message="编码长度不能超过100")
   private String loginIp;
   /**
    * 最后登陆时间
    */
   @ApiModelProperty("最后登陆时间")
   private Date loginDate;
   /**
    * 创建时间
    */
   @NotNull(message="[创建时间]不能为空")
   @ApiModelProperty("创建时间")
   private LocalDateTime createDate;
   /**
    * 更新时间
    */
   @ApiModelProperty("更新时间")
   private LocalDateTime updateDate;
   /**
    * 删除标记
    */
   @ApiModelProperty("删除标记")
   private String delFlag;

   /**
    * 状态 1 正常  0 冻结
    */
   @ApiModelProperty("状态 1 正常  0 冻结")
   private Integer status;
   /**
    * 是否为默认数据，null表示不是，1表示是
    */
   @Size(max= 32,message="编码长度不能超过32")
   @ApiModelProperty("是否为默认数据，null表示不是，1表示是")
   @Length(max= 32,message="编码长度不能超过32")
   private String defaultData;


}
